<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="created" content="2018-10-23T06:18:10.521000000">
    <meta name="changed" content="2020-01-08T06:18:42.262000000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="ru">
    <title>
      Ошибки при возбуждении
    </title>
    <link rel="stylesheet" type="text/css" href="../../style.css">
  </head>
  <body>
    <div class="maindiv">
      <h1>
        Ошибки при возбуждении
      </h1>
      <p>
        Алгоритм просчёта значений, который обычно работает тихо, без проблем, станет очень заметным, когда вы создадите схему, которая возбуждается.
      </p>
      <p align="center">
        <img class="notscal" src="../../../../img-guide/prop-oscillate-before.png" alt="#########">
      </p>
      <p>
        В данный момент эта схема в стабильном состоянии. Но если вы измените значение на входе на 1, то схема фактически войдёт в бесконечный цикл. Через некоторое время Logisim просто сдастся и покажет сообщение "Обнаружено возбуждение", говорящее вам, что он считает, что схема возбуждается.
      </p>
      <p align="center">
        <img class="notscal" src="../../../img-guide/prop-oscillate-error.png" alt="#########">
      </p>
      <p>
        Он будет показывать значения, которые были, когда он сдался. Эти значения будут выглядеть неправильными - на этом снимке экрана элемент И выдаёт 1, хотя на одном из его входов 0; или может быть, что у элемента НЕ на входе и на выходе 1.
      </p>
      <p>
        Logisim услужливо обводит красным каждое место, которое похоже участвует в возбуждении. Если участвующая точка лежит внутри подсхемы, то Logisim отрисует контур подсхемы красным.
      </p>
      <p>
        Когда Logisim обнаруживает возбуждение, он останавливает дальнейшее моделирование. Вы можете снова включить моделирование, используя пункт Моделирование включено из меню Моделировать.
      </p>
      <p>
        Logisim обнаруживает возбуждение с помощью довольно простого метода: если похоже, что при моделировании схемы слишком много итераций, то он просто сдаётся и сообщает о возбуждении. (Точки, которые он определяет как участвовавшие - это те, которые были затронуты как минимум в 25% итераций.) Таким образом, он мог бы ошибочно сообщить о возбуждении, например, если вы работаете с исключительно большой схемой; но она должна быть больше, чем любая построенная мной в Logisim. В любом случае, если вы уверены, что сообщение - ошибка, то вы можете настроить количество итераций, завершённых до появления возбуждения через <a href="../opts/opts-simulate.html">вкладку Моделирование</a> окна <a href="../opts/index.html">Параметры проекта</a>.
      </p>
      <p>
        <strong>Далее:</strong> <a href="shortcome.html">Недостатки</a>.
      </p>
    </div>
  </body>
</html>
